var jwt = require('jsonwebtoken');
const { Promise } = require('mongoose');

function createToken(data) {
    return jwt.sign(
    { 
        data, //你想加密的数据
        iat: Math.floor(Date.now() / 1000) - 60*60*24 //指定token的有效期（秒）
    },
        'qf' //密文（暗号）
    )
}

function verifytoken(req, res) {
  return new Promise((resolve,reject)=>{
    try {
        const decoded = jwt.verify(req.query.token || req.headers['x-token'], 'qf')
        if(decoded&&decoded.data)
        {
            resolve(decoded.data)
        } else {
            res.json({err:-1,msg:'token 无效'})
        }

    }catch(err){

        res.json({err:-1,msg:'token'})
        reject(err)
    }
  })
}


module.exports = {
    createToken,
    verifytoken
}
    
